package com.example.common.core.enums;

import lombok.AllArgsConstructor;
import lombok.Getter;

/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: DELL
 * Date: 2025-02-11
 * Time: 13:21
 */

@Getter
@AllArgsConstructor // 需要手动控制创建对象的过程时, lombok提供了自动生成所有字段的构造函数的注解
public enum ResultCode {

    /**
     * 定义状态码
     */

    //操作唱功
    SUCCESS (1000, "操作成功"),

    //服务器内部错误，友好提⽰
    ERROR (2000, "服务繁忙请稍后重试"),

    //操作失败，但是服务器不存在异常
    FAILED (3000, "操作失败"),
    FAILED_UNAUTHORIZED (3001, "未授权"),
    FAILED_PARAMS_VALIDATE (3002, "参数校验失败"),
    FAILED_NOT_EXISTS (3003, "资源不存在"),
    FAILED_ALREADY_EXISTS (3004, "资源已存在"),

    FAILED_USER_EXISTS (3101, "⽤⼾已存在"),
    FAILED_USER_NOT_EXISTS (3102, "⽤⼾不存在"),
    FAILED_LOGIN (3103, "⽤⼾名或密码错误"),
    FAILED_USER_BANNED (3104, "您已被列⼊⿊名单, 请联系管理员."),

    NOT_ENTER_ACCOUNT(3105, "请先输入账号"),
    NOT_ENTER_PASSWORD(3106, "请先输入密码");

    /**
     * 语法上枚举的常量应该以上定义的字段之后
     */
    private int code; // 状态码

    private String msg; // 状态码对应的响应信息

}
